// 引入项目中全部的全局组件
import SvgIcon from "./SvgIcon/index.vue";
import Pagination from "./Pagination/index.vue";
import Category from "./Category/index.vue";

// 引入element-puls提供全部图标组件
import * as ElementPlusIconsVue from "@element-plus/icons-vue";

// 全局对象
const allGloalComponent = { SvgIcon, Pagination, Category };

// 对外暴露插件对象
export default {
  // 务必叫做install 方法
  install(app) {
    // 注册项目全部的全局组件
    Object.keys(allGloalComponent).forEach((key) => {
      // 注册为全局组件
      app.component(key, allGloalComponent[key]);
    });

    // 将element-plus提供图标注册位全局组件
    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component);
    }
  },
};
